// 1.1 获取裁剪区域的 DOM 元素
var $image = $('#image')
    // 1.2 配置选项
const options = {
    // 纵横比
    aspectRatio: 1,
    // 指定预览区域
    preview: '.img-preview'
}

// 1.3 创建裁剪区域
$image.cropper(options);

// 模拟点击上传按钮 是file 自动发生点击事件
$("#btn").on('click', function() {
    $("#file").click();
});

// 为文件选择框绑定 change 事件
$("#file").change(function(e) {
    if (e.target.files.length === 0) {
        return layer.msg('请选择照片！')
    }
    // 拿到这个图片,把他转换成一个内存的路径
    var newImgURL = URL.createObjectURL(e.target.files[0]);
    $image
        .cropper('destroy') // 销毁旧的裁剪区域
        .attr('src', newImgURL) // 重新设置图片路径
        .cropper(options) // 重新初始化裁剪区域
});

// 给确定按钮绑定点击事件
$("#btnSure").on('click', function() {
    // 获取裁剪之后的图片对应的数据
    var dataURL = $image
        .cropper('getCroppedCanvas', { // 创建一个 Canvas 画布
            width: 100,
            height: 100
        })
        .toDataURL('image/png'); // 将 Canvas 画布上的内容，转化为 base64 格式的字符串
    $.ajax({
        method: 'post',
        url: '/my/update/avatar',
        data: {
            avatar: dataURL
        },
        success: function(res) {
            if (res.status != 0) return layer.msg('头像更新失败');
            // 调用父页面的函数 重新渲染头像区域
            window.parent.getUserInfo();
        }
    });
});